Experimental Results on Hamiltonian-Cycle-Finding Algorithms
نویسنده
چکیده
Frieze [1] introduced a heuristic polynomial-time algorithm, Ham, for finding Hamiltonian cycles in random graphs with high probability. We wanted to see how this algorithm performs in practice, and whether it could be improved by modifying it. For this purpose, we borrowed an idea from an algorithm by Keydar called SemiHam [2]. SemiHam is a modification of Ham that finds Hamiltonian cycles in semi-random graphs with high probability. (The notions of random and semi-random graphs are beyond the scope of this report.) For simplicity, we call our implementations by the borrowed names Ham and SemiHam, even though we don’t follow completely the original theoretical algorithms. We tested our algorithms on knight’s tour problems. By analogy from chess, we define a knight as a piece that moves in a board either ±a cells horizontally and ±b cells vertically, or ±b cells horizontally and ±a cells vertically, for given a and b. Then, given an m×n rectangular board, we ask whether there exists a sequence of moves in which a knight visits each cell of the board exactly once, and then returns to its starting cell. This is the knight’s tour problem. We denote an instance of this problem by listing its parameters in the form m×n–(a, b). For example, the classical knight’s tour problem involves a regular knight and a regular chessboard, and it is denoted 8×8–(1, 2). A knight’s tour problem corresponds in a trivial way to a Hamiltonian cycle problem on a graph: Each cell of the board corresponds to a vertex, and each legal knight move between cells corresponds to an edge. Then a knight’s tour of the board corresponds to a Hamiltonian cycle in the graph. Vandegriend in [3] analyzes the knight’s tour problem in some detail. He gives several existence and non-existence theorems for different parameter values. He also reports on extensive computer experiments, in which he used an exhaustive Hamiltonian cycle algorithm. (Our algorithms, in contrast, are heuristic, as we mentioned). We will compare our results to his.
منابع مشابه
Finding the Shortest Hamiltonian Path for Iranian Cities Using Hybrid Simulated Annealing and Ant Colony Optimization Algorithms
The traveling salesman problem is a well-known and important combinatorial optimization problem. The goal of this problem is to find the shortest Hamiltonian path that visits each city in a given list exactly once and then returns to the starting city. In this paper, for the first time, the shortest Hamiltonian path is achieved for 1071 Iranian cities. For solving this large-scale problem, tw...
متن کاملOn the Approximation of Finding A(nother) Hamiltonian Cycle in Cubic Hamiltonian Graphs
It is a simple fact that cubic Hamiltonian graphs have at least two Hamiltonian cycles. Finding such a cycle is NP -hard in general, and no polynomial time algorithm is known for the problem of finding a second Hamiltonian cycle when one such cycle is given as part of the input. We investigate the complexity of approximating this problem where by a feasible solution we mean a(nother) cycle in t...
متن کاملThe Hamiltonian Cycle Problem is Linear-Time Solvable for 4-Connected Planar Graphs
A Hamiltonian cycle (path) of a graph G is a simple cycle (path) which contains all the vertices of G. The Hamiltonian cycle problem asks whether a given graph contains a Hamiltonian cycle. It is NP-complete even for 3-connected planar graphs [3, 61. However, the problem becomes polynomial-time solvable for Cconnected planar graphs: Tutte proved that such a graph necessarily contains a Hamilton...
متن کاملFinding Hidden Hamiltonian Cycles
Consider a random graph G composed of a Hamiltonian cycle on n labeled vertices and dn random edges that “hide” the cycle. Is it possible to unravel the structure, that is, to efficiently find a Hamiltonian cycle in G? We describe an O(n3 logn) steps algorithm A for this purpose, and prove that it succeeds almost surely. Part one of A properly covers the “trouble spots” of G by a collection of ...
متن کاملFast Exact Algorithms for Hamiltonicity in Claw-Free Graphs
The Hamiltonian Cycle problem asks if an n-vertex graph G has a cycle passing through all vertices of G. This problem is a classic NP-complete problem. So far, finding an exact algorithm that solves it in O∗(αn) time for some constant α < 2 is a notorious open problem. For a claw-free graph G, finding a hamiltonian cycle is equivalent to finding a closed trail (eulerian subgraph) that dominates...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003